package com.ddwl.schema.vo.user;

import com.ddwl.schema.vo.base.BaseVo;
import com.ddwl.schema.vo.gate.RegionVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author Fu Zhaohui
 * @version 1.0.0
 * @date 2019/6/14 8:01
 */
@ApiModel(description = "用户Vo")
@Setter
@Getter
@NoArgsConstructor
public class UserVo extends BaseVo {

    @ApiModelProperty("ID")
    private String id;

    @ApiModelProperty("头像")
    private String avatar;

    @ApiModelProperty("手机")
    private String mobile;

    @ApiModelProperty("昵称名字")
    private String nickname;

    @ApiModelProperty("真实名字")
    private String realname;

    @ApiModelProperty("邀请码")
    private String inviteCode;

    @ApiModelProperty("性别")
    private Byte sex;

    @ApiModelProperty("直接上级ID")
    private String immediateSuperior;

    @ApiModelProperty("直接上级")
    private String immediateSuperiorName;

    @ApiModelProperty("间接上级ID")
    private String indirectSuperior;

    @ApiModelProperty("代理等级 0普通用户 1个人代理 2店铺代理 3区域合伙人 4永久合伙人")
    private Integer profitLevel;

    @ApiModelProperty("用户代理等级用户的分润比例")
    private BigDecimal profitRatio;

    @ApiModelProperty("所在区域")
    private String regionId;

    @ApiModelProperty("用户的区域合伙人位置")
    private List<String> regionIds;

    @ApiModelProperty("用户代理区域多个逗号隔开")
    private String agentRegion;

    @ApiModelProperty("生日")
    private String birthday;

    @ApiModelProperty("用户类型0 普通用户,1分销员,2区域合伙人")
    private Integer type;

    @ApiModelProperty("获取用户津贴")
    private BigDecimal subsidyAmount;

    @ApiModelProperty("认证Token")
    private String token;

    @ApiModelProperty("积分")
    private Integer score;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("区域")
    private RegionVo region;

    @ApiModelProperty("用户AuthVo")
    private UserAuthVo userAuthVo;

    @ApiModelProperty("区域合伙人id")
    private String topAgent;

    @ApiModelProperty("无限小程序码")
    private String wxaCodeUnlimit;
    @ApiModelProperty(value = "区域经理是否公司账号 0：否，1：是")
    private Byte companyAccount;

    @ApiModelProperty("用户等级id")
    private String userLevelId;

    @ApiModelProperty("个推cid")
    private String clientId;

    @ApiModelProperty("店铺小程序码")
    private String shopWxaCode;

    @ApiModelProperty("状态  1 注册成功，2 手机号已经被注册,3 解密微信数据出错")
    private String registerStatus;

    @ApiModelProperty("分享者id:app用户就是其本身id，wbm用户是其对应的分销账号的id")
    private String shareUserId;
}
